iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
自我挑戰組

《雜學》 ︳MISCELLANEOUS LEARNING系列 第 14

〈入門.循環上〉︳GETTING STARTED ON LOOP

  • 分享至 

  • xImage
  •  

          循環,物事周而復始往復相承之變化也。譬如日月之週行,草木之榮枯,社稷之興替。又譬五行有相生之道,金生水,水生木,木生火,火生土,土生金;又有相剋之道,金剋木,木剋土,土剋水,水剋火,火剋金。更有生中有剋,剋中有生之道。亦可謂循環也。夫人,汲汲營營而不息者,終覺疲也。夫機器,行程式而不止者,廢寢忘食,不知倦也。

          蚺之循環者有二,一曰凡為是者,while():也。二曰畛域內者,for:也。凡為是者,譬如決策,為是者則決之。凡為是者亦然,為是者則行之,為非者則離之。畛域內者,蓋循環乎其限也。譬如行五十遍者,其畛域限乎五十遍,零至四十九也,不逾之。

          今有一言,曰:「今朝有酒今朝醉,且盡樽前有限杯」欲言百遍,則代碼書如是:

# 以for試之,x之畛域限乎一百。x始於零,凡行,x加一。
for x in range(100):
    print('今朝有酒今朝醉,且盡樽前有限杯')
# 以while試之,先令x為一,後行凡為是者,若x不大於一百,則行書之、x加一。
x = 1
while x<=100:
    print('今朝有酒今朝醉,且盡樽前有限杯')
    x += 1

          乃得今朝有酒今朝醉,且盡樽前有限杯百遍,其數眾多,故弗示之。
          循環內,亦可行各代碼也。今行無窮遍,凡行而數大衍減一,若大衍為零則斷之。注曰:「行無窮遍,蓋凡者恆為是也,故while true:大衍共五十。若大衍為零則斷之,蓋決策也。斷之,由循環離之,下篇詳述」程式書如是:

大衍 = 50
while True:
    if(大衍 == 0):
        break
    else:
        大衍 -= 1
print(f'大衍為{大衍}')

          乃得大衍為0也。
          畛域內者,其畛域亦可於行列也。今有一字典,曰{'禮':'不逾節', '義':'不自進', '廉':'不蔽惡', '恥':'不從枉'},名曰四維也。亦有一串列,曰['則上位安', '則民無巧詐', '則行自全', '則邪事不生'],名曰四維之義也。欲書四維及其義,則書如是:

四維 = {'禮':'不逾節', '義':'不自進', '廉':'不蔽惡', '恥':'不從枉'}
四維之義 = ['則上位安', '則民無巧詐', '則行自全', '則邪事不生']
x = 0
for y in 四維:
    print(y+四維[y]+','+四維[y]+四維之義[x])
    x += 1
禮不逾節,不逾節則上位安
義不自進,不自進則民無巧詐
廉不蔽惡,不蔽惡則行自全
恥不從枉,不從枉則邪事不生

上一篇
〈入門.決策下〉︳GETTING STARTED ON MATCH
下一篇
〈入門.循環下〉︳GETTING STARTED ON LOOP
系列文
《雜學》 ︳MISCELLANEOUS LEARNING30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言